The approaches described in this section are approaches that could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Many current internet applications utilize recommender systems to automate the process of providing recommendations for products and services that might be of interest to the user. Widely deployed on the web, such systems help users explore their interests in many domains such as movies, music, books, websites, electronics, and virtually any other type of information available on the web. The overwhelming volume of movies, music, books, etc. available makes it virtually impossible for a user to familiarize himself with all of the content, making recommendations extremely influential in the process of deciding what to consume. As a result, recommender systems appear everywhere, from independent, community-driven web sites, to large e-commerce powerhouses like Yahoo.com®. Recommender systems can improve a user's experience by personalizing what the user sees, often leading to greater engagement and loyalty. Merchants, in turn, receive more explicit preference information that paints a clearer picture of customers.
Two different designs for recommender systems are commonly adopted: content-based filtering systems and collaborative filtering systems. Content-based filtering systems use behavioral data about a user and item content information to recommend items similar to those consumed or rated by the user in the past. Items are represented as a set of item features. For example, a movie might be represented as a set of item features such as genre, actors, directors, box office, release date, average critic review ratings, average user ratings, and so on. Content-based filtering systems can generate user profiles based on the content descriptions of the items previously consumed by the user. For example, if most of the movies the user has watched are action movies starring a particular actor, then the system might heavily weight those two item features and recommend to the user other action movies with that same actor. Instead of generating a profile based on all movies the user has consumed, the profile might be based only on movies the user has positively rated, indicating that the user enjoyed those particular movies.
The system can recommend new movies to users if item features of new movies match well to the profile of the user. The system, however, does not work well, or in some cases not work at all, for new users who do not have profiles. For new users, the system may ask the user to answer a questionnaire, which may seek a variety of information such as demographic information and answers to questions such as “what kinds of genre do you like?” or “who are your favorite actors?” Based on the information from the questionnaire, the system can generate an initial profile for the user and update that profile as the user consumes new items. This method, however, often increases the burden on users which hurts user experiences and can result in a loss of users. Additionally, content-based filtering systems generally only recommend items that are similar to items previously consumed by the user. For example, if a user has watched only romance movies, then a content-based filtering system might only recommend romance movies, which can often cause low satisfaction of recommendations due to a lack of diversity for new or casual users who have not revealed many of their interests. Another limitation of content-based filtering is that its performance highly depends on the quality of item feature generation and selection.
Collaborative filtering systems typically work by associating a user with a group of like-minded users, and then recommending items enjoyed by others in the group. A significant difference between content-based filtering and collaborative filtering is that content-based filtering typically only uses a single user's information while collaborative filtering can use community information such as ratings from a group of other users who have similar tastes. Collaborative filtering has several benefits over content-based filtering. First, collaborative filtering does not require any item feature generation and selection methods and can be applied to any domains where user ratings (either explicit or implicit) are available, thus making collaborative filtering content-independent. Second, collaborative filtering can provide “serendipitous finding,” whereas content-based filtering cannot. For example, even though a user has watched only romance movies, a comedy movie might be recommended to the user if most other romance movie fans also enjoyed that comedy. Collaborative filtering can capture this kind of hidden connection between items by analyzing user consumption history (or user ratings of items) over the population of users.
While content-based filtering can use a profile of an individual user, content-based filtering does not exploit profiles of other like-minded users. Although collaborative filtering often performs better than content-based filtering when a lot of user ratings are available, collaborative filtering suffers from cold-start problems where only a small amount of information is available for users or items. For example, collaborative filtering cannot make recommendations to new users due to the lack of information on new users and cannot recommend new items if no users have yet rated those new items. Also, the quality of recommendations for casual users who have consumed only a few items is typically poor because the system is making recommendations based on limited data.
A key challenge in any recommender systems, including content-based and collaborative filtering systems, is how to provide recommendations at early stages when available data is sparse. The problem is most severe when a new system launches and most users and items are new, but the problem never goes away completely as new users and items are added to the system. Therefore, there exists in the art a need for a recommender system that overcomes the disadvantages of standard content-based filtering system and standard collaborative-based filtering systems.